home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
amok_lha
/
amok46.lha
/
Module
/
AmigaGraphik.def
next >
Wrap
Text File
|
1993-08-15
|
5KB
|
109 lines
(*
* -------------------------------------------------------------------------
*
* :Program. AmigaGraphik.def
* :Contents. Proceduren zum Öffnen und Schließen von Windows und
* :Contents. Screens, sowie einheitliche Zeichenoperationen.
* :Author. Reiner Nix
* :Address. Geranienhof 2, 5000 Köln 71 Seeberg
* :Copyright. Public Domain
* :Language. Modula-2
* :Translator. M2Amiga A-L V3.3d
* :History. V1.0 1.11.90
*
* -------------------------------------------------------------------------
*)
DEFINITION MODULE AmigaGraphik;
FROM Graphics IMPORT TextFontPtr,TextAttr;
FROM Intuition IMPORT ScreenPtr,WindowPtr,NewScreen,NewWindow;
(*
* --------------------------------------------------------------------------
* OpenScreen öffnet funktionsgleich zu Intuition.OpenScreen einen Screen.
* CloseScreen schließt Screen, geeignet für TermProcedure, da kontrolliert
* wird, ob Pointer nicht NIL.
* UseScreen Umstellen der folgenden Ausgabeoperationen bis auf weiteres
* auf den angegebenen Screen.
* --------------------------------------------------------------------------
*)
PROCEDURE OpenScreen (VAR newScreen :NewScreen) :ScreenPtr;
PROCEDURE CloseScreen (VAR Screen :ScreenPtr);
PROCEDURE UseScreen ( Screen :ScreenPtr);
(*
* --------------------------------------------------------------------------
* OpenWindow öffnet Window, Window.userData wird aus NIL gesetzt.
* OpenSimpleWindow einfachst Window (0,0)-(640,256) wird geöffnet.
* CloseWindow schließt Window, SuperBitMap wird ggf abgebaut,
* userPort wird sauber geleert.
* UseWindow wie UseScreen.
* NewWindowSize Nach jedem Ändern der Windowsize nötig falls danach
* gezeichnet wird. Stellt gewünschte ClipRegion auf
* tatsächlich benutzte Maße ein.
* --------------------------------------------------------------------------
*)
PROCEDURE OpenWindow (VAR newWindow :NewWindow) :WindowPtr;
PROCEDURE OpenSimpleWindow () :WindowPtr;
PROCEDURE CloseWindow (VAR Window :WindowPtr);
PROCEDURE UseWindow ( Window :WindowPtr);
PROCEDURE NewWindowSize;
(*
* --------------------------------------------------------------------------
* OpenFont öffnet Zeichensatz, egal ob schon geladen oder von Diskette.
* CloseFont schließt Zeichensatz.
* UseFont aktiviert Zeichensatz für die nächsten Ausgaben.
* --------------------------------------------------------------------------
*)
PROCEDURE OpenFont (VAR textAttr :TextAttr) :TextFontPtr;
PROCEDURE CloseFont (VAR Font :TextFontPtr);
PROCEDURE UseFont ( Font :TextFontPtr);
(*
* --------------------------------------------------------------------------
* SetClipRegion beschränkt nachfolgende Ausgaben auf den Berecih. Arbeitet
* nicht mit der Layers-Library, da ich nicht weis, wie das geht.
* SetColourReg stellt das Farbregister auf Parameterwert ein.
* Clear löscht aktuellen RastPort komplett in der Registerfarbe.
* Draw,DrawLine zeichnen Linie innerhalb der ClipRegion.
* DrawBox zeichnet Rechteck.
* DrawCircle zeichnet Kreis, falls dieser komplett sichtbar ist.
* DrawEllipse zeichnet Ellipse, falls diese komplett sichtbar ist.
* FillRectangle zeichnet Recheck innerhalb der ClipRegion.
* --------------------------------------------------------------------------
*)
PROCEDURE SetClipRegion ( x1,y1, x2,y2 :INTEGER);
PROCEDURE SetColourReg ( Register,
Colour :CARDINAL);
PROCEDURE SetAPen ( Register :CARDINAL);
PROCEDURE SetBPen ( Register :CARDINAL);
PROCEDURE Clear ( Register :CARDINAL);
PROCEDURE WritePixel ( x,y :INTEGER);
PROCEDURE Move ( x,y :INTEGER);
PROCEDURE Draw ( x,y :INTEGER);
PROCEDURE DrawLine ( x1,y1, x2,y2 :INTEGER);
PROCEDURE DrawBox ( x1,y1, x2,y2 :INTEGER);
PROCEDURE DrawCircle ( x,y, a :INTEGER);
PROCEDURE DrawEllipse ( x,y, a,b :INTEGER);
PROCEDURE FillRectangle ( x1,y1, x2,y2 :INTEGER);
(*
* --------------------------------------------------------------------------
* Ausgabefunktionen, basierend auf Intuition.Text.
* --------------------------------------------------------------------------
*)
PROCEDURE Write ( char :CHAR);
PROCEDURE WriteString ( string :ARRAY OF CHAR);
PROCEDURE WriteInt ( x, n :LONGINT);
PROCEDURE WriteCard ( x, n :LONGCARD);
END AmigaGraphik.